#ifndef TERRITORIOOBSERVABLE_H_
#define TERRITORIOOBSERVABLE_H_

#include "Territorio.h"
#include "NotificadorDeCambios.h"

/**
 * Agrega a un Territorio la capacidad de comunicar a un NotificadorDeCambios cuando su estado
 * visible ha cambiado.
 */

class TerritorioObservable : public Territorio
{
private:
	NotificadorDeCambios* notificadorDeCambios;
public:
	TerritorioObservable(std::string nombre, NotificadorDeCambios* notificadorDeCambios);
	void colocarEjercitos(unsigned int cantidadDeEjercitos, string color);
	void quitarEjercitos(unsigned int cantidadDeEjercitos);
	virtual ~TerritorioObservable();
};

#endif /*TERRITORIOOBSERVABLE_H_*/
